package co.edu.usbcali.presentation.businessDelegate;

import co.edu.usbcali.modelo.Cuenta;
import co.edu.usbcali.modelo.Persona;
import co.edu.usbcali.modelo.Retiro;
import co.edu.usbcali.modelo.Solicitud;
import co.edu.usbcali.modelo.Usuarios;
import co.edu.usbcali.modelo.Validacion;
import co.edu.usbcali.modelo.control.CuentaLogic;
import co.edu.usbcali.modelo.control.ICuentaLogic;
import co.edu.usbcali.modelo.control.IPersonaLogic;
import co.edu.usbcali.modelo.control.IRetiroLogic;
import co.edu.usbcali.modelo.control.ISolicitudLogic;
import co.edu.usbcali.modelo.control.IUsuariosLogic;
import co.edu.usbcali.modelo.control.IValidacionLogic;
import co.edu.usbcali.modelo.control.PersonaLogic;
import co.edu.usbcali.modelo.control.RetiroLogic;
import co.edu.usbcali.modelo.control.SolicitudLogic;
import co.edu.usbcali.modelo.control.UsuariosLogic;
import co.edu.usbcali.modelo.control.ValidacionLogic;
import co.edu.usbcali.modelo.dto.CuentaDTO;
import co.edu.usbcali.modelo.dto.PersonaDTO;
import co.edu.usbcali.modelo.dto.RetiroDTO;
import co.edu.usbcali.modelo.dto.SolicitudDTO;
import co.edu.usbcali.modelo.dto.UsuariosDTO;
import co.edu.usbcali.modelo.dto.ValidacionDTO;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.annotation.Scope;

import org.springframework.stereotype.Service;

import java.math.BigDecimal;

import java.util.Date;
import java.util.List;
import java.util.Set;


/**
* @author Zathura Code Generator http://code.google.com/p/zathura
*
*/
public interface IBusinessDelegatorView {
    public List<Cuenta> getCuenta() throws Exception;

    public void saveCuenta(Cuenta entity) throws Exception;

    public void deleteCuenta(Cuenta entity) throws Exception;

    public void updateCuenta(Cuenta entity) throws Exception;

    public Cuenta getCuenta(Long idcuen) throws Exception;

    public List<Cuenta> findByCriteriaInCuenta(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Cuenta> findPageCuenta(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberCuenta() throws Exception;

    public List<CuentaDTO> getDataCuenta() throws Exception;

    public List<Persona> getPersona() throws Exception;

    public void savePersona(Persona entity) throws Exception;

    public void deletePersona(Persona entity) throws Exception;

    public void updatePersona(Persona entity) throws Exception;

    public Persona getPersona(Long idpers) throws Exception;

    public List<Persona> findByCriteriaInPersona(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Persona> findPagePersona(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberPersona() throws Exception;

    public List<PersonaDTO> getDataPersona() throws Exception;

    public List<Retiro> getRetiro() throws Exception;

    public void saveRetiro(Retiro entity) throws Exception;

    public void deleteRetiro(Retiro entity) throws Exception;

    public void updateRetiro(Retiro entity) throws Exception;

    public Retiro getRetiro(Long idreti) throws Exception;

    public List<Retiro> findByCriteriaInRetiro(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Retiro> findPageRetiro(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberRetiro() throws Exception;

    public List<RetiroDTO> getDataRetiro() throws Exception;

    public List<Solicitud> getSolicitud() throws Exception;

    public void saveSolicitud(Solicitud entity) throws Exception;

    public void deleteSolicitud(Solicitud entity) throws Exception;

    public void updateSolicitud(Solicitud entity) throws Exception;

    public Solicitud getSolicitud(Long idsoli) throws Exception;

    public List<Solicitud> findByCriteriaInSolicitud(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Solicitud> findPageSolicitud(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberSolicitud() throws Exception;

    public List<SolicitudDTO> getDataSolicitud() throws Exception;

    public List<Usuarios> getUsuarios() throws Exception;

    public void saveUsuarios(Usuarios entity) throws Exception;

    public void deleteUsuarios(Usuarios entity) throws Exception;

    public void updateUsuarios(Usuarios entity) throws Exception;

    public Usuarios getUsuarios(Long idusuario) throws Exception;

    public List<Usuarios> findByCriteriaInUsuarios(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Usuarios> findPageUsuarios(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberUsuarios() throws Exception;

    public List<UsuariosDTO> getDataUsuarios() throws Exception;

    public List<Validacion> getValidacion() throws Exception;

    public void saveValidacion(Validacion entity) throws Exception;

    public void deleteValidacion(Validacion entity) throws Exception;

    public void updateValidacion(Validacion entity) throws Exception;

    public Validacion getValidacion(Long idvali) throws Exception;

    public List<Validacion> findByCriteriaInValidacion(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Validacion> findPageValidacion(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberValidacion() throws Exception;

    public List<ValidacionDTO> getDataValidacion() throws Exception;
}
